#include <stdint.h>

struct S0 {
   volatile uint16_t  f0;
} __attribute__((aligned(64), warn_if_not_aligned(8), deprecated));

struct S1 {
   signed f0 : 30;
   int32_t  f1;
   unsigned f2 : 18;
} __attribute__((aligned(16), deprecated)) __attribute__((aligned(128), transparent_union));

union U2 {
   volatile signed f0 : 24;
   int8_t  f1;
   int32_t  f2;
} __attribute__((warn_if_not_aligned(2), deprecated, unused)) __attribute__((aligned(128), warn_if_not_aligned(4), deprecated, transparent_union));

int32_t g_3 = (-2L);
const struct S1 g_51[4] = {{-18359,7L,109},{-18359,7L,109},{-18359,7L,109},{-18359,7L,109}};
union U2 g_89 = {0L};
const struct S1 *g_199 = &g_51[1];
volatile struct S0 g_231 = {0x8C47L};
struct S1 g_942[2][6][1] = {{{{-1476,3L,426}},{{-32298,-9L,5}},{{13478,0x3EF9BD5BL,396}},{{-26765,0x8B5C65C2L,473}},{{-9490,0x7105DFE8L,223}},{{-9490,0x7105DFE8L,223}}},{{{-26765,0x8B5C65C2L,473}},{{13478,0x3EF9BD5BL,396}},{{-32298,-9L,5}},{{-1476,3L,426}},{{-14104,6L,426}},{{-9490,0x7105DFE8L,223}}}};
volatile struct S0 g_1434 = {65533UL};
volatile struct S0 * volatile g_1435 = &g_231;

void foo(int);

int32_t  func(uint64_t  p_43)
{
    struct S1 l_1034 = {-10528,-1L,419};
    struct S1 l_1412 = {22232,0x9CDC851CL,480};
    for (l_1034.f1 = 0; (l_1034.f1 >= 0); l_1034.f1 -= 1)
    {
        // CHECK-NOT: sxtw	x0, w23
        l_1412 = (g_942[l_1034.f1][(g_89.f2 + 2)][g_89.f2] = (*g_199));
        foo(l_1412.f0);
        (*g_1435) = g_1434;
    }
    return p_43;
}
